home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / game / misc / WormWars.lha / wormwars / source / engine.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-08-07  |  9.1 KB  |  239 lines

  1. /* $Filename:    WormWars/Source/engine.h $
  2.  * $VER:         WormWars 6.3 $
  3.  * $Description: Constants for game engine $
  4.  *
  5.  * © Copyright 2000 James R. Jacobs.
  6.  */
  7.  
  8. #define GOATMOVE             5 // assert (GOATMOVE != 0);
  9. #define NOSE                 2 // if (NOSE > PROTECTORS) nose disabled
  10. #define NOSEDISTANCE         4
  11. #define WORMQUEUELIMIT      15
  12. #define DOGQUEUELIMIT      120
  13. #define TIMELIMIT          599
  14. #define SECONDSPERLEVEL    120 // assert (SECONDSPERLEVEL <= TIMELIMIT);
  15. #define UNDRIFT              5 // assert (UNDRIFT != 0);
  16.  
  17. // dog dormancy
  18.  
  19. #define DORMANT              0
  20. #define AWAKENING            1
  21. #define CHASING             10
  22.  
  23. // frequencies
  24.  
  25. #define FREQ_PENGUIN         1
  26. #define FREQ_DRIP            1
  27. #define FREQ_MAX            70
  28. #define FREQ_DEC             2
  29. #define FREQ_MIN            10
  30. #define FREQ_TELEPORT      240
  31.  
  32. #define BONUSPENGUINSPEED    7
  33. #define BONUSDRIPSPEED      11
  34. #define BONUSFRAGSPEED       9
  35. #define BONUSMISSILESPEED    9
  36. #define CLOUDSPEED           9
  37. #define DOGSPEED             8
  38. #define DRIPSPEED           13
  39. #define FRAGSPEED           10
  40. #define GOATSPEED           19
  41. #define MAGNETSPEED          9
  42. #define MISSILESPEED        12
  43. #define ORBSPEED            11
  44. #define PENGUINSPEED        23
  45. #define TIMEBOMBSPEED       60
  46.  
  47. // population limits
  48.  
  49. #define CREATURES           50
  50. #define MAGNETS             20
  51. #define PROTECTORS           2 // <=4!
  52.  
  53. // vampirism
  54.  
  55. #define DRIPBLOOD             1
  56. #define GOATBLOOD            1
  57. #define ORBBLOOD             1
  58. #define PENGUINBLOOD         1
  59.  
  60. // jump distances
  61.  
  62. #define FASTDISTANCE         5
  63. #define NORMALDISTANCE       4
  64. #define SLOWDISTANCE         3
  65. #define VERYSLOWDISTANCE     2
  66.  
  67. // skill points
  68.  
  69. #define EMPTYPOINT           1
  70. #define TAILBONUS            1
  71. #define TURNTOSILVER         5
  72. #define TURNTOGOLD          10
  73. #define SILVERPOINT         10
  74. #define TIMEBONUS           10
  75. #define ENCLOSUREPOINT      10
  76. #define TELPOINT            20
  77. #define GOLDPOINT           20
  78. #define HITSHOT             50
  79. #define KILLGOAT            50
  80. #define KILLPENGUIN         50
  81. #define KILLWORM           100
  82. #define BOMBOVEREDGE       100
  83. #define SKULLPOINT         100
  84. #define LETTERPOINT        100
  85. #define DRIPBONUS          100
  86. #define LEVELBONUS         100
  87.  
  88. // pain ratings
  89.  
  90. #define DOGPAIN         5
  91. #define DRIPPAIN        5
  92. #define HEADPAIN        5
  93. #define MISSILEPAIN     5
  94. #define ORBPAIN         5
  95. #define PROTECTORPAIN    5
  96. #define REMNANTPAIN     5
  97. #define TELEPORTPAIN    5
  98. #define WORMFIREPAIN    5
  99. #define WHIRLWINDPAIN   5
  100.  
  101. #define BOMBPAIN        3
  102. #define CLOUDPAIN       3
  103. #define FRAGMENTPAIN    3
  104. #define LIGHTNINGPAIN    3
  105. #define METALPAIN       3
  106. #define OTHERTAILPAIN    3
  107. #define PENGUINPAIN     3
  108. #define PENGUINPAIN     3
  109.  
  110. #define GOATPAIN        2
  111. #define SLAYERPAIN        2
  112. #define SLIMEPAIN        2
  113.  
  114. #define STONEPAIN        1
  115. #define TAILPAIN        1
  116. #define WOODPAIN        1
  117.  
  118. // objects
  119.  
  120. #define BOMBADD       5 // in squares radius
  121. #define BOMBRAND     25
  122. #define CLOCKADD     10 // in seconds
  123. #define CLOCKRAND    20
  124. #define CUTTERADD    20 // in VERYSLOWs
  125. #define CUTTERRAND   25
  126. #define FREEDOMADD   20 // in VERYSLOWs
  127. #define FREEDOMRAND  50
  128. #define ICEADD        5 // in VERYSLOWs
  129. #define ICERAND       5
  130. #define MODEADD      30 // in VERYSLOWs
  131. #define MODERAND     40
  132. #define TREASUREADD  10 // in seconds
  133. #define TREASURERAND 10
  134.  
  135. MODULE  void changefield(void);
  136. MODULE  void clearletters(void);
  137. MODULE  void death(void);
  138. MODULE  void fastloop(void);
  139. MODULE  void killall(void);
  140. MODULE  void magnetloop(void);
  141. MODULE  void newfield(void);
  142. MODULE  void newhiscores(void);
  143. MODULE  void slowloop(void);
  144.  
  145. MODULE  void bombblast(SBYTE triggerer, SBYTE player, SBYTE centrex, SBYTE centrey);
  146. MODULE  void bothcol(SBYTE player, SBYTE x, SBYTE y);
  147. MODULE  void bouncegoat(SBYTE which, SBYTE x, SBYTE y);
  148. MODULE  void __inline change(SBYTE x, SBYTE y, UBYTE image);
  149. MODULE  void cloudbullet(UBYTE which, SBYTE x, SBYTE y, SBYTE deltay);
  150. MODULE  void copyfield(SBYTE source, SBYTE destination);
  151. MODULE  void createmissile(UBYTE player, SBYTE x, SBYTE y);
  152. MODULE  void creatureloop(SBYTE which);
  153. MODULE  void dogqueue(SBYTE which, SBYTE deltax, SBYTE deltay);
  154. MODULE  void drawcause(SBYTE player, SBYTE state);
  155. MODULE  void drawletter(SBYTE player, SBYTE letter, SBYTE state);
  156. MODULE  void explosion(SBYTE x, SBYTE y, SBYTE exceptionx, SBYTE exceptiony);
  157. MODULE  void newlevel(SBYTE player);
  158. MODULE  void orbscore(SBYTE which, ULONG score);
  159. MODULE  void orbsplit(SBYTE which);
  160. MODULE  void protcol(SBYTE player, SBYTE x, SBYTE y, SBYTE thisprot);
  161. MODULE  void putletter(SBYTE player);
  162. MODULE  void ramming(SBYTE player);
  163. MODULE  void reflect(UBYTE which);
  164. MODULE  void turnworm(SBYTE player, SBYTE deltax, SBYTE deltay);
  165. MODULE  void wormbullet(SBYTE player);
  166. MODULE  void wormletter(SBYTE player, SBYTE c);
  167. MODULE  void wormloop(SBYTE player);
  168. MODULE  void wormcol(SBYTE player, SBYTE x, SBYTE y, ABOOL enclosed);
  169.  
  170. MODULE void dogdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  171. MODULE void dogdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  172. MODULE void dogfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  173. MODULE void dogmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  174. MODULE void dogorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  175. MODULE void dogpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  176. MODULE void dogwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  177. MODULE void dripfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  178. MODULE void dripmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  179. MODULE void driporb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  180. MODULE void drippenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  181. MODULE void dripwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  182. MODULE void fragfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  183. MODULE void fragorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  184. MODULE void fragmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  185. MODULE void fragpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  186. MODULE void fragwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  187. MODULE void missilemissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  188. MODULE void missilepenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  189. MODULE void missilewhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  190. MODULE void orborb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  191. MODULE void orbmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  192. MODULE void orbpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  193. MODULE void orbwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  194. MODULE void penguinwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  195. MODULE void whirlwindwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  196. MODULE void wormdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  197. MODULE void wormdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  198. MODULE void wormfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  199. MODULE void wormmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  200. MODULE void wormorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  201. MODULE void wormpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  202. MODULE void wormwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  203. MODULE void wormworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  204. MODULE void protdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  205. MODULE void protdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  206. MODULE void protfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  207. MODULE void protmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  208. MODULE void protorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  209. MODULE void protpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  210. MODULE void protwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  211. MODULE void protworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  212. MODULE void protprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  213. MODULE void clouddog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  214. MODULE void clouddrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  215. MODULE void cloudfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  216. MODULE void cloudmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  217. MODULE void cloudorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  218. MODULE void cloudpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  219. MODULE void cloudwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  220. MODULE void cloudworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  221. MODULE void cloudprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  222. MODULE void cloudcloud(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  223.  
  224. MODULE SWORD atleast(SWORD value, SWORD minimum);
  225. MODULE ABOOL blocked(SBYTE which, SBYTE deltax, SBYTE deltay);
  226. MODULE ABOOL bounceorb(SBYTE which, SBYTE x, SBYTE y);
  227. MODULE SBYTE bsign(SBYTE value);
  228. MODULE ABOOL findempty(SBYTE* x, SBYTE* y, SBYTE first, SBYTE last);
  229. MODULE SBYTE onlyworm(ABOOL alive);
  230. MODULE SBYTE slowdown(SBYTE speed, ABOOL nitro);
  231. MODULE SBYTE speedup(SBYTE speed, ABOOL nitro);
  232. MODULE ULONG squareblast(SBYTE type, SBYTE player, SBYTE thissy, SBYTE x, SBYTE y, ABOOL cutter);
  233. MODULE UBYTE whichcreature(SBYTE x, SBYTE y, UBYTE species, UBYTE exception);
  234. MODULE SBYTE whichteleport(SBYTE x, SBYTE y);
  235. MODULE ULONG wormobject(UBYTE player, SBYTE x, SBYTE y);
  236. MODULE SWORD wsign(SWORD value);
  237.  
  238. // Must have blank line at EOF.
  239.